1. Field of the Invention
This invention relates to a GPS position measuring method and a GPS position measuring system to obtain pseudoranges between a number of satellites and a roving receiver terminal by processing signals from the satellites, and then computing the position of the terminal. The receiver terminal achieves higher sensitivity than a conventional stand-alone GPS receiver by also receiving and utilizing aiding information transmitted from a base station, or server. Such a system is often called an assisted GPS system to distinguish it from a conventional stand-alone receiver.
2. Description of the Related Art
Many GPS satellites are orbiting around the earth, and continuously transmitting signals at the same carrier frequency. A periodic pseudorandom noise (PN) code (called C/A code for GPS), which is different for each of the satellites, is transmitted by the satellite as biphase PSK modulation of the carrier. In GPS signals one frame (or period) of the C/A PN code is 1 msec (1 millisecond) long, as shown in FIG. 1, and the frame is repeated continuously. Navigation data, including information such as orbital parameters of the satellite, is also transmitted from the satellite as 50 bit/sec biphase PSK modulation. Each bit of this data is 20 msec long and contains 20 successive periods of the C/A code modulation, which are inverted for a data bit value of −1 and not inverted for a data bit value of 1.
An example of a conventional assisted GPS position measuring system which enhances sensitivity can be found in U.S. Pat. No. 5,663,734. In this system, as shown in FIG. 14, a receiving unit 104 has an RF to IF converter 106 provided with a GPS receiving antenna 105, an A/D converter 107 to convert analog signals from the RF to IF converter 106 into digital signals, a memory (digital snapshot memory) 108 to record output of the A/D converter 107, and a general-purpose programmable digital signal processing circuit 109 (referred to as a DSP circuit) to process the signals from the memory 108.
The receiving unit 104 also has a program EPROM memory 110 connected to the DSP circuit 109, a frequency synthesizer 111, a power regulator 112, a write address circuit 113, a microprocessor 114, a RAM memory 115, an EEPROM memory 116, and a modem 118 having a transmitting-receiving antenna 117 and connected to the microprocessor 114.
The operation of this conventional assisted GPS system is as follows: The base station 101 commands the receiving unit 104 to conduct measurement through a message transmitted by a data-communication link 119. The message transmitted by base station 101 contains a list of visible satellites identified by satellite ID number and the Doppler frequency shift for each satellite as received at the base station 101. The message is received by the modem 118 within the receiving unit 104, and stored in the RAM memory 115 connected to the microprocessor 114. The microprocessor 114 controls data information transfer between the write address circuit 113 and the modem 118, and controls power-management function in the receiving unit 104.
When the receiving unit 104 receives a command (from the base station 101, for example) to initiate processing of the GPS signal, the Doppler shift information for the visible satellites is also received. This Doppler information is stored in RAM memory 115 and the microprocessor 114 then activates the power regulator circuit 112 according to the command. The power regulator circuit 112 in turn activates the RF to IF converter 106, the A/D converter 107, the memory 108, the DSP circuit 109, and the frequency synthesizer 111 via power lines 120a through 120e. The signal from the GPS satellites received through the GPS receiving antenna 105 is digitized by the A/D converter 107 after being down-converted from RF to the IF frequency, and the digitized signal is stored in the memory 108.
The stored signal generally has a duration of 100 msec to 1 sec (or longer).
The DSP circuit 109 processes the signal stored in memory 108 to obtain the pseudorange for each of the satellites being considered. The DSP circuit 109 can use the fast Fourier transform (FFT) algorithm to greatly accelerate the speed of the pseudorange calculations, which requires many cross-correlation operations between locally-made PN code references and the PN codes of the received GPS signals. As is well known in the art, the FFT can compute these cross-correlations much faster than direct time-domain correlation methods.
When the DSP circuit 109 completes the calculations of pseudorange for each of the satellites, this information is transmitted to the microprocessor 114 through an interconnect bus 122. The microprocessor 114 then utilizes the modem 118 to transmit the pseudorange data to the base station 101 through the data-communication link 119 for final position calculation.
In addition to the pseudorange data, a time lag can also be simultaneously transmitted to the base station 101. This lag is the time delay from the start of the data collection in the memory 108 to the transmission of the pseudorange data through the data communication link 119. Knowledge of this time lag enables the base station 101 to determine when data collection actually started, which is necessary in order to compute the positions of the rapidly moving satellites at that moment. These positions are used in the calculations of the pseudoranges, which in turn are used by the positioning algorithm to obtain an accurate position of the roving receiver.
The modem 118 utilizes the separate transmitting-receiving antenna 117 to transmit and receive the message through the data-communication link 119. The modem 118 includes a communications receiver and a communications transmitter, both of which are connected to the transmitting-receiving antenna 117. Similarly, the base station 101 uses a separate transmitting-receiving antenna 103 to transmit and receive data link messages. The base station 101 can continuously receive the GPS signals through a separate GPS receiving antenna 102.
It is expected that the necessary time for pseudorange calculation by the DSP circuit 109 is less than a few seconds according to the amount of data stored in the memory 108 and the speed of the DSP circuit 109 (or several DSP circuits, if required).
As previously described, the memory 108 captures a signal record corresponding to a relatively long period of time (perhaps 100 msec to 1 second or more). All pseudoranges to the visible GPS satellites can be calculated using this same large stored block of data, which permits enough processing gain to achieve higher sensitivity than a GPS receiver using standard continuous tracking techniques. Thus, superior performance is obtained at a low signal reception levels (caused by buildings, trees, etc. blocking the signals). However, more processing is required as compared to a standard receiver. Such processing can be achieved by using efficient techniques such as the FFT or other fast convolution methods.
The object of the signal processing conducted by the DSP circuit 109 is to determine the delay of received PN code waveforms relative to similar locally-generated PN code wave forms. The received GPS signal (C/A code) is composed of repeating pseudorandom PN frames, each frame consisting of 1023 chips at a nominal chipping rate of 1.023×106 chips/sec. Thus the duration of each frame is 1 msec.
The signal processing steps performed by the DSP circuit 109 are shown in FIGS. 15A through 15E. FIG. 15A shows the repeating frames of the received PN code and their relationship to the data bits of the navigation message. Although there are actually 20 PN frames within each navigation data bit. FIG. 15A shows 4 frames per bit for the sake of simplicity. The polarity of the 4 PN frames within a bit is reversed if the bit is 0 (it is convenient to think of the bit value as −1 in this case) and is not reversed if the bit is 1. The first step in processing is to coherently add the 4 (actually 20) PN frames within each data bit, producing the result shown in FIG. 15B. This process (also called coherent synchronous addition) adds corresponding chips in each of the 4 (actually 20) PN frames to produce a result that looks like a single PN frame per navigation data bit, with its polarity inverted if the data bit is 0 (−1) and not inverted of the data bit is 1.
For simplicity of explanation, in FIG. 15 it is assumed that the locations of the navigation data bit boundaries are known, resulting in the proper grouping of the 4 PN frames to be synchronously added. In reality the locations of the bit boundaries are not known. This could cause a problem. For example, if the first of the 4 frames to be synchronously averaged were frame 2 in FIG. 15A, then the change in navigation data bit from 0 to 1 (occurring at the beginning of frame 4) would cause frames 4 and 5 to cancel out frames 2 and 3. In U.S. Pat. No. 5,663,734, which exemplifies the system being described here, no provision is made for determining the locations of the navigation data bit boundaries. This is a disadvantage, since the processing gain can be significantly reduced due to the aforementioned cancellation when the grouping of the frames is such that navigation data bit for some frames in the group is 0 (−1) and for other frames is 1. Thus, a solution to this problem is needed.
After each group of 4 PN frames are synchronously added, each of the resulting 1 msec waveforms of FIG. 15B is correlated with a replica of the PN code to produce the correlation functions shown in FIG. 15C. Note that the polarity of the peak value of a correlation function is positive when the polarity of the result of the synchronous summation is the same as the polarity of the replica PN code in the receiver, and negative when the polarities are opposite.
FIG. 15D shows the magnitudes of the correlation results of FIG. 15C, which are always positive and do not reflect the polarity changes caused by the navigation data bits. The results of the correlation calculations obtained as magnitudes are then synchronously added to produce the result shown in FIG. 15E (this process is often called noncoherent synchronous addition).
At this point the sensitivity (S/N ratio) has been greatly enhanced by the coherent synchronous coherent addition of many groups of PN frames (for example, 1000 frames occur in 1 second of signal data), followed by cross-correlation and noncoherent synchronous summation of the magnitudes of the correlation functions.
Another conventional GPS position measuring system, appearing in U.S. Pat. No. 6,329,946, will now be described. This system is similar to the previously described system in that the roving terminal captures a portion the GPS signals (perhaps 100 msec to 1 sec or more) as it emerges from the A/D converter. The stored data contains repeating frames of the C/A code of each visible satellite, and, as described earlier, some of the frames have inverted polarities according to the sign of the GPS navigation data bits. However, this system differs from the previous one in that the base station (server) detects the same navigation data bit sequence that is being received by the roving terminal and transmits it to the roving terminal, thus permitting the terminal to remove the data modulation from its stored signal. This process, referred to as homogenization, makes the polarities of all PN code frames to be the same, and permits synchronous summation of all received frames. As constrasted to coherent synchronous summation of only 20 frames per data bit, the processing gain thereby obtained is much greater than would otherwise be possible, and results in a very high sensitivity of the roving receiver terminal.
However, the sequence of the navigation data bits as received by the server and that received by the terminal are not necessarily in time alignment, because of unknown and variable delays in the server-to-terminal communication link. One method of solving this problem would be for the receiver terminal of the GPS position measuring system to send a timing signal to the server, which in turn could send a timing signal back to the terminal, permitting the terminal to determine the communication delay. Knowledge of the communication time delay would permit determination of the phase difference of the navigation data from the base station and the corresponding data collected at the terminal. The former bit sequence could thereby time-aligned with the latter, permitting homogenization of the PN frames at the terminal. Ideal noise reduction would then be obtained by synchronous summation after the homogenization.
However, in many communication links, such as Internet or packet communication, the communication delay is highly variable and unknown, which prevents the above solution from being effective. In this case the data bit sequence sent by the server to the receiver terminal must be repeatedly scanned with shifts to many different positions in time in order to find the proper time alignment. For each value of shift, all coherent summations must be repeated in order to detect the signal. This can greatly increase the response time required to obtain the position of the receiver terminal. It is therefore a great disadvantage that receiver signal processing can not be conducted within a practical response time for high-sensitivity position determination without the strict requirement of knowing the communication time delay in the communication circuit.
It is therefore an object of the present invention to provide a GPS position determination method and a GPS position measuring system in which the position of the receiver terminal is measured with super-high sensitivity and a short response time, even if the server-terminal communication link has greatly variable communication delay and the satellite signal is received inside a building, etc., namely, the satellite signal is attenuated.